package co.edu.javeriana.konigsberg.xavier.dao;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityTransaction;

import co.edu.javeriana.konigsberg.xavier.dao.desc.CiudadDAOLocal;
import co.edu.javeriana.konigsberg.xavier.entidad.Ciudad;

@Stateless
public class CiudadDAO extends DAO<Ciudad> implements CiudadDAOLocal{
	private static final long serialVersionUID = 1L;

	@Override
	@SuppressWarnings("unchecked")
	public List<Ciudad> obtenerLista(){
	    return (List<Ciudad>) em.createNamedQuery("Ciudad.findAll").getResultList();
	    
	}
	@Override
	@SuppressWarnings("unchecked")
	public List<Ciudad> obtenerListaPorPadre(BigInteger idDepartamento){
	    return (List<Ciudad>) em.createNamedQuery("Ciudad.findByParent").setParameter("idDepartamento", idDepartamento).getResultList();
	    
	}
	@Override
	public Ciudad obtenerPorId(BigInteger id) {
		return em.find(Ciudad.class, id);
	}
	@Override
	public void guardar(Ciudad ciudad) {
		EntityTransaction tx = em.getTransaction();
		tx.begin();
		em.persist(ciudad);
		tx.commit();
	}
	@Override
	public void actualizar(Ciudad e) {
		// TODO Auto-generated method stub
		
	}
	
}


